home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / COMMUNIC / BULLETIN / 0340A.ZIP / ODOC_000.ARC / REF_EVNT.DOC < prev    next >
Text File  |  1986-11-16  |  14KB  |  348 lines

  1.  
  2.                                      OPUS
  3.  
  4.            (c) Copyright 1986, Wynn Wagner III, All Rights Reserved
  5.  
  6.  
  7.  
  8.                                 26 October 1986
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                                     EVENTS
  20.  
  21.                      The Things That Go Bump In The Night
  22.  
  23.  
  24.  
  25. WHAT EVENTS ARE
  26. ------------------------------------------------------------------------------
  27.  
  28. There are current two types of events: 
  29.  
  30.          * YELL     ... During a YELL event, your computer will get
  31.                         noisy when a user selects Y)ell from the main
  32.                         menu.  Outside a yell event, the user will be
  33.                         sent the contents of the file YELL.BBS ... which
  34.                         usually explains that you have the bell turned 
  35.                         off (although some of the embedded commands
  36.                         could prove effective here. <sly grin>)
  37.          
  38.          * EXTERNAL ... When Opus hits an external event, it exits the
  39.                         program.  You always have a CODE ("ErrorLevel")
  40.                         associated with an external event.  Opus sets the
  41.                         DOS ERRORLEVEL to this value before it terminates.
  42.                         A batch file can detect this value and do whatever
  43.                         external processing you want.  (See your DOS manual
  44.                         for more information about ERRORLEVEL and batch
  45.                         files.)
  46.  
  47.          "But," you say, "what about the matrix?"  Currently Opus does not 
  48.          know how to place an outgoing phone call.  Mail/Network/Matrix 
  49.          events are treated as though they were external events.  For 
  50.          example, if you have a schedule file built for some other<tm> 
  51.          system, it may contain a mail event C.  Opus would treat Event C 
  52.          as an external event, and set the ErrorLevel to 67 when it 
  53.          terminates.  The value 67 is the ASCII value of the letter C.
  54.          For more information about ASCII values, find an "ASCII Chart" ...
  55.          located in the appendix of every microcomputer book ever printed.
  56.  
  57.          Version Zero of Opus does not place outgoing network calls.  That 
  58.          will come in version one.  Stay tuned, and watch this space 
  59.          for developments.
  60.  
  61.          You can use SEAdog<tm> or Fido<tm> or some other program that 
  62.          can make outgoing calls on IFNA<tm>-type networks like 
  63.          Fido<tm>Net<tm>.
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. TIME ZONE
  71. ------------------------------------------------------------------------------
  72.  
  73.          Internally, Opus always works in Greenwich Mean Time.  You are
  74.          rarely affected by this.  In fact, you may not have even realized
  75.          it until now.
  76.  
  77.          Your SCHED.BBS (or whatever name) file is probably in local time...
  78.          so you need to tell Opus how to convert.
  79.  
  80.          Please find the item (below) that applies to you and put it 
  81.          into your AUTOEXEC.BAT file.
  82.  
  83.                   EASTERN
  84.                   ----------------------------------------------
  85.                   For standard time......... SET TZ=EST+05
  86.                   For daylight time......... SET TZ=EDT+04
  87.  
  88.                   CENTRAL
  89.                   ----------------------------------------------
  90.                   For standard time......... SET TZ=CST+06
  91.                   For daylight time......... SET TZ=CDT+05
  92.  
  93.                   MOUNTAIN
  94.                   ----------------------------------------------
  95.                   For standard time......... SET TZ=MST+07
  96.                   For daylight time......... SET TZ=MDT+06
  97.  
  98.                   PACIFIC
  99.                   ----------------------------------------------
  100.                   For standard time......... SET TZ=PST+08
  101.                   For daylight time......... SET TZ=PDT+07
  102.  
  103.                   OTHER TIME ZONES
  104.                   ----------------------------------------------
  105.                   Yukon standard time....... SET TZ=YST+09
  106.                   Alaska standard time...... SET TZ=AST+10
  107.                   Bering standard time...... SET TZ=BST+11
  108.  
  109.  
  110.          The `TZ' means `Time Zone'.
  111.          The first three characters are the initials used the time zone
  112.          The final three characters represent the deviation from universal
  113.          time (Greenwich Mean Time).  
  114.  
  115.          The system defaults to CENTRAL STANDARD time with a deviation
  116.          of +06 hours from Universal time.
  117.  
  118.          Ho-boy.  You get all of that?  There's a test next period.
  119.  
  120.  
  121.  
  122.  
  123. THE OPUS EVENT MANAGER
  124. ------------------------------------------------------------------------------
  125.  
  126.          You can have 35 events (numbered 0 to 34).
  127.  
  128.          The sysop-only `6' command deals with events.  If you have
  129.          sysop privs, just press `6' on the main menu.  You'll
  130.          see this:
  131.  
  132.                            Opus Event Manager
  133.                               L)ist
  134.                               C)hange
  135.                               Q)uit
  136.  
  137.                            Event: _
  138.  
  139.  
  140.          Type `L' to see a list of the current events or `C' to change
  141.          one of the events.
  142.  
  143.          The list looks like this:
  144.  
  145.             #     Day ---Times--- TZone Duration  Description
  146.             0 ... All 09:00-22:00 Local  780 min  Yell, 20 sec. bell
  147.             1 ... All 09:00-10:00  GMT    60 min  Mail route C
  148.             4 ... All 12:00-12:30 Local   30 min  Mail route D, DISABLED
  149.            20 ... All 06:31-06:32 Local    1 min  eXternal 210
  150.  
  151.          Look at the times for events 0 and 1.  Both begin at 9:00!  But
  152.          event 0 is 9am LOCAL time; event 1 is 9am GREENWICH MEAN TIME.
  153.          Opus handles both absolute and relative times.  The local event
  154.          will always happen at 9:00am.  If our system were in Central
  155.          Standard time, event #1 would fire at 3:00am local time.  When
  156.          we switch to Central Daylight, the event happens at 4:00am local
  157.          time.
  158.  
  159.          To change an event, type C.  You'll be asked for a slot number.
  160.          On the list (above) the slot numbers are on the far left of
  161.          each line.  You have 35 slots ... numbered 0 to 34.
  162.  
  163.          After you pick a slot, you'll see something like this:
  164.  
  165.                   S)tatus......................... Enabled
  166.                   K)ind........................... Mail route D
  167.                   D)ay............................ All
  168.                   T)ime (start)................... 12:00
  169.                   Z)one........................... Local
  170.                   L)ength......................... 30
  171.  
  172.                   A)nother slot
  173.                   Q)uit
  174.  
  175.                   Change: _
  176.  
  177.  
  178.          If the event happens to be a yell event, you'll also see this:
  179.  
  180.                   B)ell duration.................. 30
  181.  
  182.          If it's an eXternal event, here's an addition line for the menu:
  183.  
  184.                   E)xit code...................... 210
  185.  
  186.  
  187.          STATUS   can be Enabled or Disabled.  Press S to flip between
  188.                   the two.
  189.          KIND     is a letter from A to Z.  A few letters have special
  190.                   meaning to Opus:
  191.  
  192.                            X... external event
  193.                            Y... yell event
  194.                            Z... RESERVED, don't use this one
  195.  
  196.                   Two of the network events usually have a special
  197.                   meaning.  These are the conventional meanings of
  198.                   A and C:
  199.  
  200.                            A... direct mail, for those with no host
  201.                            C... the National Mail Hour
  202.  
  203.          DAY      is the day-of-the-week for an event.
  204.  
  205.                   NOTE: Version 0 of Opus only supports ALL.
  206.  
  207.          TIME     is the hour/minute when the event is supposed to 
  208.                   begin.  Use a 24-hour clock, like this:
  209.  
  210.                            00:00    ... midnight
  211.                             3:00    ... 3am
  212.                            12:00    ... noon
  213.                            18:00    ... 6pm
  214.  
  215.                   By the way, the so-called "National Mail Hour" for
  216.                   IFNA<tm>-type networks such as Fido<tm>Net<tm>
  217.                   is 9:00 Greenwich Mean Time.
  218.  
  219.  
  220.          ZONE     is either LOCAL or GMT.  This is explained in
  221.                   agonizing detail in an earlier part of this pamphlet.
  222.  
  223.                   NOTE: Zone is an Opus extension.  Other<tm> systems
  224.                         do not know about GMT.
  225.  
  226.          LENGTH   is the number of minutes for an event.  Currently,
  227.                   the shortest event is 1 minute.
  228.  
  229.          BELL     on yell events is the number of seconds you want your
  230.                   computer to make a racket when somebody presses Y on
  231.                   the main menu.  The shortest possible bell duration
  232.                   is 5 seconds.  The longest is 255 seconds.
  233.  
  234.          EXIT     is the value for Opus to use when it shuts itself down
  235.                   on an eXternal event.  You can check this exit code
  236.                   value using the DOS ERRORLEVEL.  See your DOS manual's
  237.                   section on batch files for information on ErrorLevel.
  238.  
  239.          ANOTHER  is a menu command to change from one slot to another.
  240.  
  241.          QUIT     is a menu command that lets you leave the change section.
  242.  
  243.  
  244.  
  245.  
  246.  
  247. BY THE WAY
  248. ------------------------------------------------------------------------------
  249.  
  250.          NOTE #1
  251.  
  252.          There's something that may be totally obvious to you.  But
  253.          it's something that took me some time to realize ... so I'll
  254.          use up some of your paper (or disk space) to state it
  255.          plainly.
  256.  
  257.          Here it is: an event KIND can appear in more than one SLOT.
  258.  
  259.          You probably knew that and will laugh to hear that I didn't
  260.          know it for a long time.
  261.  
  262.          If you use Y (the yell event) as event #1, you haven't "used
  263.          up" your yell event for the day.  (stop snickering)
  264.  
  265.          You can have event #1 enable yell during the morning hours,
  266.          for example.  Then have no yell event for the afternoon.
  267.          During the evening, you could have another yell event ...
  268.          say, event #12, that enables yell again for a few hours.
  269.  
  270.  
  271.          NOTE #2
  272.  
  273.          If you are converting from some other<tm> system, you may
  274.          notice debris for some Opus-only items.  The most notable is
  275.          the Yell Bell duration figure.  The longest time for the
  276.          bell is 255 seconds regardless of what the screen might say.
  277.          If Opus detects some outlandish value for the bell duration,
  278.          it will set the duration to 30 seconds.
  279.  
  280.  
  281.  
  282.  
  283.  
  284. INSIDE OPUS: STRUCTURES
  285. ------------------------------------------------------------------------------
  286.  
  287.  
  288.          Version Zero of Opus tries to be compatible with support files
  289.          currently being used by other<tm> systems.  There is no claim
  290.          that Opus will continue this compatibility forever and ever.
  291.  
  292.          This section is technical.  It doesn't deal with the way events
  293.          are handled.  Instead, it's for those afflicted with a desire
  294.          to know how the schedule file is stored on disk.
  295.  
  296.  
  297.  
  298.                   /*---------------------------------------------------*/
  299.                   /* PRELIMINARIES                                     */
  300.                   /* Definitions, etc                                  */
  301.                   /*---------------------------------------------------*/
  302.                   #define begin         {
  303.                   #define end           }
  304.                   typedef unsigned char byte;
  305.                   typedef unsigned int  word;
  306.  
  307.  
  308.                   /*---------------------------------------------------*/
  309.                   /* _TIME structure used by Fido<tm> version 11       */
  310.                   /* `daywk': 0=Sun 1=Mon ... 6=Sat 7=ALL              */
  311.                   /*---------------------------------------------------*/
  312.                   typedef struct
  313.                      begin
  314.                         word        year, month, day;
  315.                         word        daywk;
  316.                         word        hour,mins,sec;
  317.                      end _time;
  318.  
  319.  
  320.                   /*---------------------------------------------------*/
  321.                   /* SCHED                                             */
  322.                   /* A schedule file (eg.SCHED.BBS) is simply an array */
  323.                   /* of 35 of these structures.                        */
  324.                   /*---------------------------------------------------*/
  325.                   struct _sched
  326.                      begin
  327.                         _time  time;
  328.                         word   len;     /* Duration of event in min.   */
  329.                         word   enable;  /* 1=used, 0=disabled          */
  330.                         word   trigger; /* Beats me, ask Tom Jennings  */
  331.                         word   result;  /* X errorlevel; OPUS:Yellbell */
  332.                         byte   tag;     /* The event kind (A to Z)     */
  333.                         byte   junk_1;  /* To word-align Fido<tm> rec  */
  334.                         word   a,b,c,d; /* OPUS: Reserved              */
  335.                         byte   junk_2;  /* OPUS: Reserved              */
  336.                         byte   GMT;     /* OPUS: Set=GMT, Clear=local  */
  337.                      end;
  338.  
  339.  
  340.          
  341.  
  342.  
  343.  
  344.  
  345.                                       ###
  346.  
  347.  
  348.